import router from './router'
import { getToken } from '@/utils/auth'
import { toast, showFullLoading, hideFullLoading } from './utils'
import store from './store'

router.beforeEach((to, from, next) => {
  showFullLoading()
  const token = getToken()
  // 未登录，且跳转不是登录页，强制登录
  if (!token && to.path !== '/login') {
    toast('请先登录', 'error')
    next({ path: '/login' })
  }

  // 登录，但是还要跳转登录页, 跳转到原先页或首页
  if (token && to.path === '/login') {
    toast('请勿重复登录', 'warning')
    next({ path: from.path ? from.path : '/' })
  }

  // 如果用户登录了，自动获取登录信息，并存储在vuex中
  if (token) {
    store.dispatch('getinfoAction')
  }

  // 设置页面标题
  document.title = to.meta.title + '-商城后台管理'
  next()
})

// 全局后置守卫
router.afterEach((to, from) => {
  hideFullLoading()
})
